﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using KornyezetVedelem;
using System.Runtime.InteropServices;
namespace Formok
{
    public partial class HulladekLerakoForm : Form
    {
        private int melyik=0,ferohely=-1;
        const int MF_BYPOSITION = 0x400;
        [DllImport("User32")]
        private static extern int RemoveMenu(IntPtr hMenu, int nPosition, int wFlags);
        [DllImport("User32")]
        private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
        [DllImport("User32")]
        private static extern int GetMenuItemCount(IntPtr hWnd);
        private HulladekLerako ob;
        private KorVedelem korVedelem;
        private String str = "Hiba",nev_hulladek="",tipus_combo="";
        public HulladekLerakoForm(KorVedelem korVedelem)
        {
            IntPtr hMenu = GetSystemMenu(this.Handle, false);
            int menuItemCount = GetMenuItemCount(hMenu);                //a kilepes menu kiveve
            RemoveMenu(hMenu, menuItemCount - 1, MF_BYPOSITION);
            this.korVedelem = korVedelem;
            InitializeComponent();
        }
        public void Aktival()
        {
            comboBox1.Enabled = true;
            Nagysag.Enabled = true;
            Nev.Enabled = true;
            Megse.Enabled = true;
            Mentes.Enabled = true;
        }
        public void DezAktival()
        {
            comboBox1.Enabled = false;
            Nagysag.Enabled = false;
            Nev.Enabled = false;
            Mentes.Enabled = false;
            Megse.Enabled = false;
        }
        private void HulladekLerakoForm_Load(object sender, EventArgs e)
        {
            bool er = false;
            ob = new HulladekLerako(ref er);
            DataSet dS = ob.HulladekLerakoToltDS(ref str);
            dataGridView1.DataSource = dS.Tables["Tablak"];
            ob.feltoltCombo(comboBox2);
            DezAktival();
        }

        private void Kilpes_button_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Hide();
            korVedelem.Show();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void Nev_TextChanged(object sender, EventArgs e)
        {

        }

        private void Beszuras_Click(object sender, EventArgs e)
        {
            Aktival();
            melyik = 1;
            
        }

        private void Torles_Click(object sender, EventArgs e)
        {
            DezAktival();
           if (dataGridView1.CurrentRow != null)
            {
                if (MessageBox.Show("Biztos vagy benne h torolni akarod ezt a  sort?\n", "Torles", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    String id = dataGridView1.CurrentRow.Cells[0].Value.ToString();
                    Exception ex1 = ob.Torol(id);
                    if (ex1 != null)
                        MessageBox.Show("Nem Tudtam Torolni ezt a sort!\n\n" + Convert.ToString(ex1));
                    else
                    {

                        DataSet dS = ob.HulladekLerakoToltDS(ref str);
                        dataGridView1.DataSource = dS.Tables["Tablak"];
                        MessageBox.Show("Sikeresen torolve...");
                    }
                }
            }
            else
                MessageBox.Show("Nincs torlendo sor az adatbazisban");
         }
         

        private void Modositas_Click(object sender, EventArgs e)
        {
          
           if (dataGridView1.CurrentRow != null)
           {
                 Aktival();
                 melyik = 2;
           }
           else
               MessageBox.Show("Nincs Modositando sor az adatbazisban!");

           
        }

        private void Megse_Click(object sender, EventArgs e)
        {
            DezAktival();
        }

        private void Mentes_Click(object sender, EventArgs e)
        {
            if (melyik == 1)
            {
            String nev;
            int nagysag ;
            String tipus;
            if(Nev.Text=="")
                MessageBox.Show("Kerem irjon be egy nevet A HulladeklerakoNev hez");
            else
            {
                 nev= Nev.Text;
                 if(Nagysag.Text=="")
                     MessageBox.Show("Kerem irjon be egy szamot a nagysaghoz!");
                 else
                    if(Int32.TryParse(Nagysag.Text, out nagysag)){
                     
                       if (comboBox1.SelectedItem == null)
                           MessageBox.Show("Valasszon ki egy tipust!");
                       else
                       {
                           tipus = comboBox1.SelectedItem.ToString();
                           ob.Beszur(nev, nagysag, tipus);
                           DataSet dS = ob.HulladekLerakoToltDS(ref str);
                           dataGridView1.DataSource = dS.Tables["Tablak"];
                       }
                    }
                     else
                         MessageBox.Show("A Helytelen szam a nagysagnal!");
            }
            }
            else
                 if (melyik == 2)
                    {
                        String nev;
                        int nagysag;
                        String tipus;
                        String id;
                        

                            id = dataGridView1.CurrentRow.Cells[0].Value.ToString();
                            if (Nev.Text == "")
                                MessageBox.Show("Kerem irjon be egy nevet A HulladeklerakoNev hez");
                            else
                            {
                                nev = Nev.Text;
                                if (Nagysag.Text == "")
                                    MessageBox.Show("Kerem irjon be egy szamot a nagysaghoz!");
                                else
                                    if (Int32.TryParse(Nagysag.Text, out nagysag))
                                    {

                                        if (comboBox1.SelectedItem == null)
                                            MessageBox.Show("Valasszon ki egy tipust!");
                                        else
                                        {
                                            tipus = comboBox1.SelectedItem.ToString();
                                            ob.Modosit(id, nev, nagysag, tipus);
                                            DataSet dS = ob.HulladekLerakoToltDS(ref str);
                                            dataGridView1.DataSource = dS.Tables["Tablak"];
                                        }
                                    }
                                    else
                                        MessageBox.Show("A Helytelen szam a nagysagnal!");
                            }
                       
                    }
                  

            DezAktival();
        }

        private void szuro_hulladek_TextChanged(object sender, EventArgs e)
        {
            nev_hulladek = szuro_hulladek.Text;
            DataSet dS = ob.Szuro(nev_hulladek,ferohely,tipus_combo);
            dataGridView1.DataSource = dS.Tables["Tablak"];
        }

        private void Fiz_szuro_TextChanged(object sender, EventArgs e)
        {
            if (Fiz_szuro.Text != "")
            {
                try
                {
                    String s = Fiz_szuro.Text;
                    ferohely = Convert.ToInt32(s);
                    DataSet dS = ob.Szuro(nev_hulladek, ferohely,tipus_combo);
                    dataGridView1.DataSource = dS.Tables["Tablak"];
                }
                catch (Exception e1)
                {
                    MessageBox.Show("Helytelen Karakter a Nagysag szuronel!\n");

                }
            }
            else
            {
                ferohely = -1;
                DataSet dS = ob.Szuro(nev_hulladek, ferohely,tipus_combo);
                dataGridView1.DataSource = dS.Tables["Tablak"];
            }
        }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            tipus_combo = comboBox2.Text;
            DataSet dS = ob.Szuro(nev_hulladek, ferohely,tipus_combo);
            dataGridView1.DataSource = dS.Tables["Tablak"];
        }
    }
}
